HTML is a "markup" language which allows an author to turn a simple text document into a hypertext document for the World Wide Web ("the web "). FIG. 1 is an example of a hypertext document from Sun Microsystems as viewed through a browser from Netscape Communications, Inc. FIG. 2 illustrates the HTML source code which describes the hypertext document of FIG. 1.
The HTML markup language is analogous in some ways to the formatting codes used in word processing documents. A word processing document viewed through a word processing program is actually a combination of the text that you see and a series of hidden formatting codes (e.g., carriage return, bold, underline) which instruct the word processing program to display the word processing document in a specified way. Similarly, a hypertext document is actually a combination of the text that you see and a series of hidden "tags" or "anchors" (for new paragraphs, graphics images, hypertext links, etc.) which instruct the browser program to display the hypertext document in a specified way.
A hypertext document is usually broken down into sections, with each section delineated by one or more HTML tags. HTML tags are formatting codes surrounded by the characters &lt; and &gt; (less than and greater than symbols). Some HTML tags have a start tag and an end tag. In general, end tags are in the format &lt;/"symbol"&gt; where the "symbol" is the character string found between the characters &lt; and &gt; in the start tag. FIG. 3 is an example of a series of HTML document tags forming a template for a typical hypertext document. For example, the document of FIG. 3 is defined as an HTML document using the tags &lt;html&gt; and &lt;/html&gt;Then the "head" to the document, which typically includes a title, is defined using the tags &lt;head&gt;, &lt;/head&gt;, &lt;title&gt;, and &lt;/title&gt;, respectively. Following the head comes the "body" of the document which is often organized into subtopics with different levels of headings. The body is defined by the tags &lt;body&gt; and &lt;/body&gt;. Headings are indicated by the tags &lt;h#&gt; and &lt;/h#&gt;, where #is the level of the heading. Heading levels indicate the relative size of the heading. Heading level 1 is the largest heading size and heading level 6 is the smallest heading size. Finally, it is good practice to indicate the author of the document at the bottom of the document using the tags &lt;address&gt; and &lt;/address&gt;. FIG. 4 summarizes this information in a table format.
Once the HTML template has been established, text is added to create a basic hypertext document. In order to improve readability, the author adds HTML character and paragraph formatting tags to the document. For example, the &lt;p&gt; tag instructs the browser to begin a new paragraph. If an author wants to highlight some text in bold, the author inserts the &lt;b&gt; tag at the beginning of the text to be highlighted and inserts a &lt;/b&gt; tag at the end of the text to be highlighted. The tags &lt;i&gt; and &lt;/i&gt; indicate text to display in italics. FIG. 5 illustrates additional tags for formatting characters and paragraphs.
If HTML was merely made up of the document, paragraph, and character formatting tags discussed above, it would only allow an author to define a document which stands by itself. Fortunately, additional HTML tags allow an author to "link" documents together. If a reader of a hypertext document wants to know more about a topic before reading the rest of the current hypertext document, the reader selects a "link" or "hot link", which retrieves and displays a new document that provides related information. FIG. 6 illustrates a hypertext document (i.e, a "source document") on Thomas Jefferson with a hot link named "the American Constitution". The link could take the reader to a second hypertext document (i.e., a "destination document") which, for example, displays the text of the American Constitution or which provides more information on Thomas Jefferson's role in the drafting of the American Constitution.
In HTML, a hot link to a destination document is made by placing a "reference anchor" around the text to be highlighted (e.g., "the American Constitution") and then providing a network location where the destination document is located. Reference anchors extend the idea of start and end tags. A reference anchor is created when the start tag &lt;a&gt; and the end tag &lt;/a&gt; are placed around the text to be highlighted (e.g., &lt;a&gt; the American Constitution &lt;/a&gt;). Then attribute information that identifies the network location of the destination document is inserted within the &lt;a&gt; reference tag. In HTML, the "href=" attribute, followed by the network location for the destination document, is inserted within the &lt;a&gt; tag. For example,
&lt;a href="network location for the destination document"&gt; the American Constitution &lt;/a&gt;illustrates the basic format for a reference anchor. On the web, network locations of hypertext documents are provided using the Universal Resource Locator ("URL") naming scheme. FIG. 7 illustrates the primary components of a URL.
A service type 701 is a required part of a URL. The service type tells the user's browser how to contact the server for the requested data. The most common service type is the HyperText Transport Protocol or http. The web can handle several other services including gopher, wais, ftp, netnews, and telnet and can be extended to handle new service types. A system name 703 is also a required part of a URL. The system name is the fully qualified domain name of the server which stores the dam being requested. A port 705 is an optional part of a URL. Ports are the network socket addresses for specific protocols. By default, http connects at port 80. Ports are only needed when the server does not communicate on the default port for that service. A directory path 707 is a required part of a URL. Once connected to the system in question, a path to the file must be specified. A filename 709 is an optional part of a URL. The file name is the data file itself. The server can be configured so that if a filename isn't specified, a default file or directory listing is returned. A search component 711 is another optional part of a URL. If the URL is a request to search a data base, the query can be embedded in the URL. The search component is the text after the ? or #in a URL.
Substituting the URL "http://system/dir/file.html" into the example above, the reference anchor: EQU &lt;a href="http://system/dir/file.html/"&gt; the America Constitution &lt;/a&gt;
identifies an html file to retrieve and display when a user selects "fie American Constitution" hot link.
Sometimes an author may want to direct the reader's attention not to the destination document as a whole but to a specific part of the destination document. For example, instead of pointing the reader to the beginning (i.e., the Preamble) of the American Constitution, an author may want to point the reader directly to the 10th Amendment (i.e., Article X) of the American Constitution. Hypertext links that point to a specific point in a destination document are known as named anchors. Named anchors are essentially modified reference anchors. Continuing with the example above, if an author wants to point to the section on the 10th Amendment within a destination document containing HTML source code for the entire American Constitution, then the author follows a two step process. First the author modifies the HTML source code for the destination document by inserting a "NAME" attribute within an &lt;a&gt; tag which is inserted before the start of the section on the 10th Amendment. For example, the tag EQU &lt;a NAME="10th Amendment"&gt; Article X &lt;/a&gt;
could be inserted into the destination document's HTML, source code before the start of the section on Article X. To reference this point, the author of the source document creates a named anchor in the source document which uses a #character to reference the"10th Amendment" NAME attribute in the destination document. For example, the named anchor: EQU &lt;a href="http://system/dir/file.html#10th Amendment"&gt; the 10th Amendment &lt;/a&gt;
identifies the section on Article X as the section to retrieve and display when a user selects the hot link "the 10th Amendment".
An implicit assumption of the example set forth above is that the author of the source document has permission to edit and modify the destination document in order to add a "NAME" attribute before the section on Article X. At the very least, the author of the source document has to be able to convince the author of the destination document to add such a "NAME" attribute before the section on Article X. However, since the web is a distributed, network-based hypertext system, the author of the source document may in fact not have access to the destination document. Thus, it would be beneficial to provide a method and system which allows browsers to automatically display sections of destination documents, even though those sections do not include embedded NAME attributes.